package test.monitor;

import ar.uba.dc.sistemas.monitorRW.MultipleReadersWritersMonitor;

public class Writer implements Runnable{

	private MultipleReadersWritersMonitor monitor;
	private Integer recCompartido;
	private String nombre;
	
	public Writer(MultipleReadersWritersMonitor monitor, Integer objCompartido, String nombre){ 
		setMonitor(monitor); 
		setRecCompartido(objCompartido);
		setNombre(nombre);
	}
	
	public void run() {
		try {
			while(true){
				
				monitor.comenzarEscritura();
				System.out.println("Escribiendo " + getNombre());
				recCompartido ++;
				monitor.detenerEscritura();
				Thread.sleep(System.currentTimeMillis()%10000);
			}
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		
	}

	public MultipleReadersWritersMonitor getMonitor() {
		return monitor;
	}

	public void setMonitor(MultipleReadersWritersMonitor monitor) {
		this.monitor = monitor;
	}

	public Integer getRecCompartido() {
		return recCompartido;
	}

	public void setRecCompartido(Integer recCompartido) {
		this.recCompartido = recCompartido;
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

}
